XCMD is a Base SAS thing, not a SASGSUB thing, so regardless of how you invoke SAS, if the SAS session is XCMD enabled, like you have verified, then you should be good.
Just humor me and put your OS command in quotes, like below:
x 'env | sort > /userhome-dir/test.lst';
Also, have you tried running this command on the UNIX command line with the same user that runs the SAS job ?