<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def exec_command(command, **kwargs):
 """ Executes the given command and send the output to the console :param str|list command: :kwargs: * `shell` (``bool`` = False) -- * `stdin` (``*`` = None) -- * `stdout` (``*`` = None) -- * `stderr` (``*`` = None) -- :return: CommandReturnValue """


    shell = kwargs.get('shell', False)
    stdin = kwargs.get('stdin', None)
    stdout = kwargs.get('stdout', None)
    stderr = kwargs.get('stderr', None)

    kwargs.update(shell=shell)
    kwargs.update(stdin=stdin)
    kwargs.update(stdout=stdout)
    kwargs.update(stderr=stderr)

    if not isinstance(command, list):
        command = shlex.split(command)

    return_value = subprocess.call(command, **kwargs)

    return CommandReturnValue(return_value=return_value,
                              stdin=stdin,
                              stdout=stdout,
                              stderr=stderr)