Well some more experimenting and I've confirmed it has nothing to do with bladelogic as such... It's the difference in the /bin/sh on my linux vs my solaris box.
Is there some way to override which shell is used by bldeploy / nexec?
the bldeploy uses the default shell on the box for the user you are mapped to, no nsh (because there's no nsh on the target)..
i've done somthing like this in my external commands:
sh -c "echo foo;echo bar;echo blah"
if i needed to use another shell.