use shlex for lexical analysis

This ensures we're compliant with POSIX.