Problem using wildcard * in an argument to Process()

I thought I posted this question earlier today, but I can’t find it. I apologize for asking the same thing twice if that’s the case. I have been having a problem running a terminal command on MacOS, and I’ve tracked the issue down to the following. If I use the code below and read from stdout, I see a list of files.

startInfo.FileName = “ls”;
startInfo.Arguments = @“-l Assets/Snapshots/”;

If instead I pass

startInfo.Arguments = @“-l Assets/Snapshots/*”;

I get nothing on stdout and a “file not found” error on stderr. I’ve tried the obvious escaping the *, but that doesn’t help, and ls shouldn’t care. Does anybody know what’s up and how to make this work as expected (at least as I expect).