Added shell_adv(). This allows much more granular control over a shell command.