I suggest you contact the third party supplier and ask them how the directory is chosen. It is unusual for a program to write to a directory from which it is invoked - usually programs write to the current directory, which of course is not the same thing. I'm not sure what you mean by "tend to", do they or do they not? If they are writing to the current directory then just call
.
You might be able to work-around it by pre-creating the filename as a symbolic link to the real directory (or even to use a named pipe/fifo). That won't work if the program destroys the file and re-creates it.