You shouldn't be seeing the script with ps but you will see command line arguments and environment variables as they are used.
Alas, for "sh" to execute your script it needs to be able to read it.
However you could set up your own shell where all the scripts are owned by some obscure user, and the shell is a set-uid process that flips to that user. But then that user would not have the same rights as the current user.
The thing is that shc works perfect for making scripts invisible but when you do ps you see all the code there. Maybe the best solution is to put some C code inside and then wrap it. Any other ideas ?
Yeah, id use some C code even make it in full C if i have time and will ... plus with the binary generated you can add further 'protection' to prevent debugging (at least make it a lot harder)...