use capsec_core::cap::Cap;
use capsec_core::cap_provider::CapProvider;
use capsec_core::error::CapSecError;
use capsec_core::permission::Spawn;
use std::process::{Command, Output};
pub fn command(program: &str, cap: &impl CapProvider<Spawn>) -> Result<Command, CapSecError> {
let _proof: Cap<Spawn> = cap.provide_cap(program)?;
Ok(Command::new(program))
}
pub fn run(
program: &str,
args: &[&str],
cap: &impl CapProvider<Spawn>,
) -> Result<Output, CapSecError> {
let _proof: Cap<Spawn> = cap.provide_cap(program)?;
Ok(Command::new(program).args(args).output()?)
}