Hola:
Cuando ejecutas con Runtime.exec() no puedes usar las redirecciones > a fichero ni < de fichero. La salida y la entrada del programa que estás ejecutando se pasan a tu programa java, a través de child.getInputStream() y child.getOutputStream.
Tienes que ejecutar como estás haciendo, pero sin la redirección "< ubicacion". Luego obtienes el OutputStream del process
OutputStream os = child.getOutputStream()
abres el fichero ubicacion de la forma normal, lo vas leyendo y vas metiendo lo leidos en el os de antes
Código java:
Ver originalwhile (fichero tenga datos){
lee datos de fichero
os.write (datos);
}
Se bueno.