Add a new helper vyos.utils.process.cmdl() that behaves like vyos.utils.process.cmd(), but requires the command to be passed as a list of arguments instead of a string. It should also support a new sudo: bool = False argument to allow privileged execution.
The motivation for this change is security hardening. Many current call sites build commands with f-strings or other string formatting before passing them to cmd(), which makes escaping harder to reason about and increases the risk of arbitrary command injection. A list-based helper provides a safer and more explicit interface for subprocess execution.
This task should add cmdl() (with l for list) with behavior matching cmd() as closely as possible, while enabling gradual refactoring of existing string-based command invocations to the new helper where appropriate. This is intended primarily as a security-focused refactoring rather than a new feature.