Comment 6 for bug 1857377

Sorry, I have limited patience to deal with all the special snowflake
problems Apple keep causing. PDF conversion requires Qt WebEngine and
that is sandboxed on macOS using Apple's bundle based sandboxing, I
assume. And presumably that sandbox does not work when launched via
symlink because it uses the path of the executable to establish its
sandbox. Fixing this in calibre would require having the command line
executables re-exec themselves with an absolute path, which is a waste
of time and should be completely un-necessary. Apple should fix their
software to work with symlinks.

Use an absolute path in your scripts, it's as simple as replacing calls
to ebook-convert with os.path.realpath(shutil.which('ebook-convert'))