<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run_command(command):
 """Run a command using subprocesses. :param command: the command to run. :type command: list Tries to run a command. If it fails, raise a :py:class:`ProgramError`. .. warning:: The variable ``command`` should be a list of strings (no other type). """

    output = None
    try:
        output = subprocess.check_output(command, stderr=subprocess.STDOUT,
                                         shell=False)
    except subprocess.CalledProcessError:
        msg = "couldn't run command\n{}".format(command)
        raise ProgramError(msg)