<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def execute_command(command, args):
 """ Runs the provided command with the given args. Exceptions, if any, are propogated to the caller. Arguments: command - something that extends the Command class args - A list of command line arguments. If args is None, sys.argv (without the first argument--assumed to be the command name) will be used. """

    if args is None:
        args = sys.argv[1:]
    try:
        command.execute(args)

    except IOError as failure:
        if failure.errno == errno.EPIPE:
            # This probably means we were piped into something that terminated
            # (e.g., head).  Might be a better way to handle this, but for now
            # silently swallowing the error isn't terrible.
            pass

    except _PartialFailureException as failed:
        for failure, skipped, message in failed.failed:
            print("\nTask {} failed".format(failure), file=sys.stderr)
            print("\tError: {}".format(message), file=sys.stderr)
            print("\tSkipped: {}".format(skipped), file=sys.stderr)
        sys.exit(1)

    except Exception as failure:  # pylint: disable=broad-except
        print("Error: {}".format(str(failure)), file=sys.stderr)
        sys.exit(1)