closes #6: bad should exit abnormally when a required argument is missing.
closes #5: Checking needed for --exec.
closes #4: Add --args option.