def execute(subcommand, *arguments, &block)
      options = arguments.last.is_a?(Hash) ? arguments.pop : Hash.new
      command = command(subcommand, *arguments)
      command = "sudo -- #{command}" if options.delete(:sudo)
      logger.debug "Executing #{command} using #{description}"
      Executer.execute command, options, &block
    end
def execute(subcommand, *arguments, &block)
      options = arguments.last.is_a?(Hash) ? arguments.pop : Hash.new
      command = command(subcommand, *arguments)
      command = "sudo -- #{command}" if options.delete(:sudo)
      logger.debug "Executing #{command} using #{description}"
      Executer.execute command, options, &block
    end
Executes a Vagrant subcommand using this instance

   * subcommand: Vagrant subcommand to run (:up, :status, etc.)
   * arguments:  Arguments to pass to the subcommand (optional)
   * options:    If the last argument is a Hash, it will be used
                 as a hash of options. A list of valid options is
                 below. Any options provided that aren't in the
                 list of valid options will get passed through to
                 Derelict::Executer.execute.
                 Valid option keys:
      * sudo:    Whether to run the command as root, or not
                 (defaults to false)
   * block:      Passed through to Derelict::Executer.execute