use a arduino to program a another arduino?

Yes, you can do, have a look at the following links

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1165363464/6

http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html