def METHOD_NAME(sandbox, command, exec_num, step_name,
                       collect_output=False):
    """A single command execution of a multi-command step.
    sandbox (Sandbox): the sandbox to use, already created and configured.
    command ([str]): command to execute.
    exec_num (int): 0-based index of the execution, to be used not to
        overwrite the output files.
    step_name (str): name of the step, also used as a prefix for the stdout
        and stderr files.
    collect_output (bool): if True, stats will contain stdout and stderr of the
        command (regardless, they are redirected to file inside the sandbox).
    return (dict|None): execution statistics, including standard output and
        error, or None in case of an unexpected sandbox error.
    """
    sandbox.stdout_file = "%s_stdout_%d.txt" % (step_name, exec_num)
    sandbox.stderr_file = "%s_stderr_%d.txt" % (step_name, exec_num)
    box_success = sandbox.execute_without_std(command, wait=True)
    if not box_success:
        logger.error("Step '%s' aborted because of sandbox error in '%s' on "
                     "the %d-th command ('%r').",
                     step_name, sandbox.get_root_path(), exec_num + 1, command)
        return None
    return execution_stats(sandbox, collect_output=collect_output)