Se si tratta di eseguibili esterni alla shell (indipendentemente dal S.O./shell), come grep e cut (che sono eseguibili esterni a qualuque shell ... non sono comandi "builtin" della bash!), allora basta usare il classico java.lang.Runtime (con i suoi vari exec() ) oppure da Java 5, il java.lang.ProcessBuilder.
Questo vale per qualunque "eseguibile". E l'unica cosa da tenere presente è che se il processo lanciato fa dell'output su standard-output/error, questo output deve essere letto lato Java.