Basically, I want to run a gbak restore (Firebird 3) from my ASP.NET Core application on Ubuntu.

Here is my code:

```
string output = "";

using (Process pProcess = new System.Diagnostics.Process())
{
    pProcess.StartInfo.FileName = "gbak";
    //pProcess.StartInfo.UseShellExecute = true;
    pProcess.StartInfo.RedirectStandardError = true;
    pProcess.StartInfo.Arguments = "-c  /home/database/backup.gbk /home/database/tempdb.fdb -user SYSDBA -pass masterkey -r";

    pProcess.StartInfo.CreateNoWindow = true;

    pProcess.Start();
    output = pProcess.StandardError.ReadToEnd();
    pProcess.WaitForExit();
}
return output;

```

This gives me an error:

```
gbak: ERROR:operating system directive access failed
gbak: ERROR:    Not a directory
gbak: ERROR:failed to create database /home/database/tempdb.fdb
gbak:Exiting before completion due to errors

```

If I execute the same command directly from the terminal, it works just fine:

```
gbak -c  /home/database/backup.gbk /home/database/tempdb.fdb -user SYSDBA -pass masterkey -r

```

Also I have tried with and without `UseShellExecute` and got the same result.

Any idea on what's going on?