Process files synchronously in a separate process.
Similar to `call-process', but may invoke a file handler based on
`default-directory'. The current working directory of the
subprocess is `default-directory'.
File names in INFILE and BUFFER are handled normally, but file
names in ARGS should be relative to `default-directory', as they
are passed to the process verbatim. (This is a difference to
`call-process' which does not support file handlers for INFILE
Some file handlers might not support all variants, for example
they might behave as if DISPLAY was nil, regardless of the actual value passed.