But /bin/sh is as far as I know only available on the developer image, so anyone with a regular image can install hijack, and upload preinit, but then nothing will work.

btw. I straced the difference between sh -c and sh and it looks like sh foo will fail when foo is not a shell script, while sh -c foo will actually exec foo when it is a binary, so sh -c sh foo should start sh, which exec's sh, which then parses the contents of foo. So the memory footprint isn't as bad as I expected initially.
_________________________
40GB - serial #40104051 gpsapp