Dump hex file is not impossible, if your programmed 89C2051 is not copy protected by fuses !!!
If so the way is long as 89C2051 is not an AVR but a 8051 variant neding 12V on reset pin for programming or dumping.
-here is a good DIY 89C2051 programmer(Reader) built itself on a 89C2051http://www.kmitl.ac.th/~kswichit/easy1/easy.htm
C source code (SDCC) is available.
You can buit as is and dump hex file.
If you want an Arduino based programmer you have to learn from given SDCC C source file, port it on Arduino platform, add some hardware for Reset switching between 5V and12V.
Using a 8051 disassembler you can obtain a raw 8051 assembler file.
If you want to go further you have to undertand all stuff before new C coding !!!
Very, very long way !!!