I described in my blog (relynxando.blogspot.com) a way to program remotely an Arduino with the Libelium Xbee shield (www.arduino.cc/en/Main/ArduinoXbeeShield).
I found some examples of this application with Xbee modules controlled by a serial port (Adafruit and Sparkfun) as Xbee “master”. But I did not find that application with an Arduino + Xbee shield as master, and another Arduino + Xbee shield as remote slave to program.
Basically I use the bootloader (slightly modified) and the application that Sparkfun designed to make the remote programming. The API mode is configured in both Arduinos to force the remote reset to start the bootloader.
I attach sketch for the main Arduino, and the bootloader for the remote Arduino to program.
Details are in the blog. It is in Spanish, but God bless Google translator.
Hope it helps.
RemoteProgram.10.pde (3.93 KB)
Bootloader_Wireless_ATmega328.10.c (10.1 KB)
Bootloader_Wireless_ATmega328.10.hex (2.1 KB)