docs: def main(argv=None):
      """Program entry point."""
  
      # If we're invoked directly (runwith ...), we'll get None here.
      if argv is None:
          argv = sys.argv[1:]
  
      # Parse command-line arguments.
      argv = cli.parse_args(argv)
  
      # Translate CLI arguments to Popen options.
      options = {}
      for k in ('stdin', 'stdout', 'stderr', 'cwd'):
          v = getattr(argv, k, None)
          if v:
              options[k] = v
  
      # Start the child process.
      try:
          process = subprocess.Popen(
              argv.command, **options
          )
      except OSError:
          print('Invalid command %r.' % argv.command)
          sys.exit(2)
  
      # Wait for the child process to complete.
      thread = threading.Thread(target=process.wait)
      thread.start()
      if argv.time_limit is None:
          thread.join()
      else:
          thread.join(argv.time_limit.total_seconds())
      if thread.is_alive() and argv.grace_time:
          process.send_signal(SIGKILL)
          thread.join(argv.grace_time.total_seconds())
      if thread.is_alive():
          process.terminate()
          thread.join()
      status = process.returncode
      assert status is not None
  
      # Forward exit code.
      return status