I would have tried running 'strings'on the process's memory instead of gdb. Ugly, but likely would have worked with some manual intervention.
As to 'cp' vs 'cat': neither is a builtin, so they both are risky. What if you also accidentally did a rm -rf / on that system?
Mac OS X doesn't have a /proc filesystem, so I cannot test it, but from reading the man page
read -N 1000000000 /proc/53165/exe $bash
should read all of bash into $bash, if it isn't ridiculously large, and echo -nE $bash > myBash
should then complete the copy.