Go, 93 bytes
func r(n int){s:="";if n>1{r(n-1)};for;0<n;n--{s=string(n+48)+s;if 0!=n{s=" "+s}};println(s)}
Test it online here: http://play.golang.org/p/9itYq1J4a1
I'm not sure how to shave off more, but it should be possible
func r(n int){s:="";if n>1{r(n-1)};for;0<n;n--{s=string(n+48)+s;if 0!=n{s=" "+s}};println(s)}
Test it online here: http://play.golang.org/p/9itYq1J4a1
I'm not sure how to shave off more, but it should be possible