Run arbitrary shell commands on the host using /bin/bash -lc.

Use this only when shell/CLI execution is actually required and dedicated tools are insufficient.

Supports full shell syntax (pipes, redirects, command chaining, subshells).

Before commands with meaningful side effects (writes/deletes/system changes), briefly state what you will do.

To start a long-lived process on Linux, background it with its own session and all three descriptors
detached: setsid cmd >log 2>&1 </dev/null &. Where setsid is unavailable, use
nohup cmd >log 2>&1 </dev/null &.

Any background process still holding stdout/stderr makes this call wait for it instead of
returning, and the wait ends in a timeout that kills the whole process group. Note that
redirecting inside a backgrounded compound command is not enough — in
`cd dir && cmd >log 2>&1 &` the subshell itself keeps the descriptors and waits for cmd. Use the
cwd argument instead of cd, or redirect the whole group: { cd dir && cmd; } >log 2>&1 </dev/null &

Returns exit code, stdout/stderr, timeout/truncation flags, and execution metadata.

When spill_to_managed_file is enabled and output exceeds spill_after_chars, the response contains
stdout_file_absolute_path instead of inline output. Use grep or file-reading tools on that path.
