You say that the shell script contains the "touch". If you run the shell script in standalone mode (i.e. from command line, not from your program), does the "touch" work? Maybe the user you are running the Java program as doesn't have permission to create a file in the directory. there are several possibilities here, but first let us know if the script works by itself.