Future<CommandResult> run( String command, { List<String> arguments, String? workingDirectory, Duration? timeout, });