Making /bin "writeable" is possible. Follow the instructions here:
http://wl500g.info/showthread.php?t=8753
I'll warn you, though, messing with the shell is dangerous without a serial console. Native asus programs can get very confused and it's impossible to know without watching them complain on the console.
On my router, I've created a small program that I put in place of /bin/sh which executes whatever shell is pointed to by the $KCSHELL environment variable. If $KCSHELL is not set, it runs /bin/busybox as /bin/sh. This helps keep asus executables happy because they don't set $KCSHELL. I set $KCSHELL to /opt/bin/bash within my .profile so all of my build scripts that call /bin/sh actually run bash.
If you're interested in pursuing this, I can post both the source and executable for my shell replacement.
- K.C.