Ваша проблема в том, что ваша команда выполняется в другом каталоге, чем вы ожидаете. Вам необходимо предоставить соответствующий каталог, используя версию с тремя аргументами exec()
:
public Process exec(String command,
String[] envp,
File dir)
throws IOException
где третий аргумент указывает текущий каталог для выполняемой команды. Обязательно установите его в каталог, где находится вход.
РЕДАКТИРОВАТЬ: Пример:
r.exec("cmd.exe /c C:\\mcpp\\bin\\mcpp.exe -Iinclude csample.c",
null, // inherit current process environment
new File("/path/containing/csample.c"));