A command like "thunderbird -d" causes mozilla-launcher to loop endlessly. The reason is that "-d" expects the debugger as a second argument, and tries to consume both with a "shift 2". Absence of that argument is not detected, though, and according to the bash info page, shift N for N > $# doesn't change the list of positional arguments. So all arguments that expect a value should check there is indeed a second argument, and if not report an error and die.
mozilla-launcher has been completely retired.