In the mozilla script: function open_mail() { if [ "${ALREADY_RUNNING}" -eq "1" ]; then exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(openInbox)' \ 2>/dev/null >/dev/null else exec $MOZ_PROGRAM $MOZ_LANG $* fi } function open_compose() { if [ "${ALREADY_RUNNING}" -eq "1" ]; then exec $MOZ_CLIENT_PROGRAM 'xfeDoCommand(composeMessage)' \ 2>/dev/null >/dev/null else exec $MOZ_PROGRAM $MOZ_LANG $* fi } In the above 2 functions, $* expands, unescaping any spaces in the command. "$@" should be used instead. In the MozillaFirebird script: ${FIREBIRD_PATH}/MozillaFirebird $@ $@ expands like $* unless it is quoted as "$@". GEnerally, the way to work around escaping problems is to use HTTP escapes instead, '%20' instead of ' ', for example. Reproducible: Always Steps to Reproduce:
I don't know why this hasn't been fixed before now! It's an obvious bug, I've fixed it. The firefox script is very different from the original scripts and I don't believe it suffers from this bug.