@mellis: Mine does OK. Are you certain that is the shell script the OP is running?
If I cd to the arduino-1.0 directory and enter "./arduino" in a shell script, that script does this:
APPDIR="$(dirname -- $(readlink -f -- "${0}") )"
That runs the script that is in that local directory (/home/user/arduino-1.0).
If I cd to the arduino-1.0 directory and enter "arduino" (no "./"), that script does this:
APPDIR=/usr/share/arduino
This second runs the script in "/usr/bin", and that is the APPDIR there.
Don't know if that makes a difference here tho.
edit: This is Ubuntu v11.10