Using ADB shell, you could place the image file on the SD card or internal memory and use the dd command. I'm not sure so PLEASE DO NOT JUST USE THIS COMMAND, but I think recovery is /dev/block/mtdblock4, so it would be something like dd if=/mnt/sdcard/yourNewRecovery.img of=/dev/block/mtdblock4 bs=512.
You may want to let us know what your device is, or even check with the forum for your device.