org.linkedin.util-core/src/main/java/org/linkedin/util/concurrent/ExternalCommand.java
public static ExternalCommand execute(File workingDirectory,
                                        String command,
                                        String... args)
      throws IOException, InterruptedException
  {
    try
    {
      return executeWithTimeout(workingDirectory, command, 0, args);
    }
    catch (TimeoutException e)
    {
      // Can't happen!
      throw new IllegalStateException(MODULE + ".execute: Unexpected timeout occurred!");
    }
  }
public static ExternalCommand execute(File workingDirectory,
                                        String command,
                                        String... args)
      throws IOException, InterruptedException
  {
    try
    {
      return executeWithTimeout(workingDirectory, command, 0, args);
    }
    catch (TimeoutException e)
    {
      // Can't happen!
      throw new IllegalStateException(MODULE + ".execute: Unexpected timeout occurred!");
    }
  }
Executes the external command in the given working directory and waits for it to be
finished.

@param workingDirectory the root directory from where to run the command
@param command the command to execute (should be relative to the working directory
@param args the arguments to the command
@return the process