I had seen some problems similar to this in the past when the user account used a shell other than bash. In the Ubuntu I was using, the default shell was /bin/sh, which failed. I also saw tickets regarding issues with tcsh.
If this is true, x2go's behavior is completely wrong. It shouldn't rely on something like "default" shell but only use scripts with a correct hashbang to be sure they get executed whatever the system *expects*, (x)or be using POSIX features only and thus ensure execution in any POSIX compatible shell (is there any non-POSIX compatible shell?)