use std::collections::BTreeMap;
use std::error::Error;
use std::process::{Child, Command};
pub fn run(cmd: &str, env: &BTreeMap<String, String>) -> Result<Child, Box<dyn Error>> {
if env.is_empty() {
Ok(Command::new("sh").arg("-c").arg(cmd).spawn()?)
} else {
Ok(Command::new("sh").arg("-c").arg(cmd).envs(env).spawn()?)
}
}