System.cmd error: (ErlangError) Erlang error: :enoent

I want run “source” command by System.cmd, but it does not work:

iex(1)> System.cmd("echo", ["hello"])      
{"hello\n", 0}
iex(2)> System.cmd("source", ["~/.bashrc"])
** (ErlangError) Erlang error: :enoent
    (elixir 1.12.3) lib/system.ex:1041: System.cmd("source", ["~/.bashrc"], [])

Am I doing something wrong?

Since source isn’t an executable but a shell builtin you can’t run it with System.cmd/3.

Thanks for your reply
System.cmd(“sh”, ["-c", “source ~/.bashrc”]) works