How to program an arduino without host pc & using arduino as handheld programmer

Couldn't you also just link the two via TX/RX and reset lines, reset the target and read and transfer a Hex file from an SD card, via the target bootloader?

That's an idea we had for allowing a user to perform a firmware update on our devices, although we've not tested it yet.