When pppd is passed the "pty script" parameter the tty-device ($2) passed to /etc/ppp/ip-up is empty. This is fine. When /etc/ppp/ip-up calls /etc/ppp/ip-up.local it passes $*, which breaks when $2 is empty. The paramaters effectively all get shifted one left, so the tty-device becomes the speed, and the speed becomes the network-number, and so on. This can be fixed by changing this line in /etc/ppp/ip-up: [ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local $* to: [ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"
This will be fixed in initscripts 5.01 in Raw Hide.