Shell script to reboot into recovery and install zip
I ended up looking at Cyanongenmod's source code and figured out how they did it.

Here is my working .sh script:

echo 'boot-recovery ' &gt; /cache/recovery/command
echo '--update_package=/sdcard/update.zip' &gt;&gt; /cache/recovery/command
reboot recovery


Update:

with android JellyBean [4.1] and later versions, the sdcard data is located now at /sdcard/0, So the second command must be:

echo '--update_package=/sdcard/0/update.zip' &gt;&gt; /cache/recovery/command