@Basile_Starynkevitch
I don't know what your command is or how you are presently sending it to QProcess as you do not show these.
You can normally leave the correct quoting to QProcess with an argument list. If, for some reason, you have a string and want to split it into arguments for QProcess you can use QStringList QProcess::splitCommand(QStringView command). Also void QProcess::startCommand(const QString &command, QIODeviceBase::OpenMode mode = ReadWrite) presumably uses that internally.
Note however that you reference https://docs.gtk.org/glib/func.shell_quote.html and that says
Quotes a string so that the shell (/bin/sh) will interpret the quoted string to mean unquoted_string.
Quoting to a shell like /bin/sh can have its own rules. For example, echo '$HOME' and echo "$HOME" behave differently. I don't know how/whether you deal with that. And your GLib shell_quote ignores this.