The key thing with Studio (and GAS for that matter as well) is to remember that it still has to follow the rules of the OS. So when you press compile/build, start a user action etc in Studio (or launch program in GAS), deep down it is setting an environment, navigating to a directory, and executing a command, just the same as if you had typed it in at the command prompt. So in your analysis you did ...
the inclusion of a pwd instruction in the user action confirms the relative path of the shell script
... what you should also do is check the environment. So in the same way you did a pwd, try something like a env > /tmp/tmp.env
Also as you are using a Remote config, the user action is executing on the local machine. One POC I did used plink.exe and a lot of stuff after it in order to execute the command I wanted on the remote machine.