I bet he aliased 'md5sum' to 'md5'. Which is really funny because he couldn't remember 3 extra letters.
Tab completion: md5[tab]
Also, a few pointers for your script.
1. You can drop the export keyword for the variables.
2. Use $() instead of ``, it's more visible: `md5sum bitcoin` == $(md5sum bitcoin)
cat > bitcoin_check.sh << EOF
#!/bin/bash
BITCOIN=/home/frozen/bin/b_i_t_c_o_i_n
HASH=48090f098f51a036d2ab181419f6e5e754071cc45196b4a43114b0b47043cd40822eb6d7b124018e4f5aa8ed7ae76459712cbb9fb0bc152c72c1bf49bbaed39a
test "$(sha512sum $BITCOIN)" != "$HASH $BITCOIN" && echo BAD HASH && exit 1
$BITCOIN $@
EOF