Actually, all that proves is that the symlink exists. The linked-to target (/bin/zsh) may not.
If I may be so bold to ask, why are you trying to use zsh for scripts? Use whatever you want for interactive work, but for scripts, especially scripts to be run in magical environments like on the grid, what you want to be doing is keeping everything as standardized as possible, and that means bash. There is obviously something in the environment that's not what you expect (I'm using "environment" in the broader sense to include file system layout, permissions, default i/o streams, etc). You're not even able to capture stdout or stderr to someplace you can see it. This makes debugging extremely difficult. It's like trying to do brain surgery blindfolded and wearing boxing gloves.
I've gone down this rabbit hole before and my advice is to not go there. Just use bash. Keep everything as simple as possible.