I am not sure why this person has not considered wrapping every command in /usr/bin/env? Regardless of the shell, env(1) would preserve that variable and do an execve.
That doesn't help you if there's a surprise call to /bin/sh or /bin/bash somewhere in the call stack. Keep reading, I know it's long but I tried to make it comprehensive. :)