Choose interpreter after script start e.g. if/else inside hashbang

Is there any way to dynamically choose the interpreter that’s executing a script? I have a script that I’m running on two different systems, and the interpreter I want to use is located in different locations on the two systems. What I end up having to to is change the hashbang line every time I switch over. I would like to do something that is the logical equivalent of this (I realize that this exact construct is impossible):

Is there a nice way to set directory/project local environment variables?

I have been working on several projects, and they require different environment variables (e.g., PATH for different versions of clang executables, PYTHONPATH for several external modules). Whenever I work on one project, I have to modify these environment variables myself (e.g., change .zshrc/.bashrc and source it); and I sometimes forget and make mistakes.

Manipulate file name piped from find command

I’m relatively new to Bash and am trying to do something that on the surface seemed pretty straightforward – run find over a directory hierarchy to get all of the *.wma files, pipe that output to a command where I convert them to mp3 and save the converted file as .mp3. My thinking was that the command should look like the following (I’ve left off the audio conversion command and am instead using echo for illustration):