utilizando Runtime.exec () en Java

¿Qué debe hacer en Java para que Runtime.exec () ejecute un programa que se encuentre en la ruta? Estoy intentando ejecutar gpsbabel que he puesto en la ruta (/ usr / local / bin).

public class GpxLib {

    public static void main(String[] args) {
        try
        {
            Runtime r = Runtime.getRuntime();
            Process p = r.exec("gpsbabel -i garmin -f usb: -o gpx -F -");
            InputStream is = p.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(is));
            while (true)
            {
                String s = br.readLine();
                if (s == null)
                    break;
                System.out.println(s);
            }
            br.readLine();
        } catch (IOException e) {
            e.printStackTrace(System.err);
        }
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta