diff --git a/src/device.rs b/src/device.rs
index 71e28f9..41cad81 100644
--- a/src/device.rs
+++ b/src/device.rs
@@ -228,7 +228,8 @@
 }
 
 pub fn start_emulator(
-    with_graphics: bool, with_networking: bool, target_options: &TargetOptions,
+    verbose: bool, with_graphics: bool, with_networking: bool, params: &[&str],
+    target_options: &TargetOptions,
 ) -> Result<(), Error> {
     let fuchsia_dir = fuchsia_dir(target_options)?;
     let fx_script = fx_path(target_options)?;
@@ -240,10 +241,15 @@
         args.push("-g");
     }
 
-    println!("fx_script = {:?}", fx_script);
+    if verbose {
+        println!("fx_script = {:?}", fx_script);
+        println!("args = {:?}", args);
+        println!("params = {:?}", params);
+    }
 
     let child = Command::new(fx_script)
         .args(&args)
+        .args(params)
         .stdout(Stdio::null())
         .stderr(Stdio::null())
         .current_dir(&fuchsia_dir)
diff --git a/src/lib.rs b/src/lib.rs
index ab4b322..0c3406d 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -485,6 +485,9 @@
 
 static DISABLE_CROSS_ENV: &str = "disable-cross-env";
 
+static NO_NET: &str = "no-net";
+static FX_RUN_PARAMS: &str = "fx-run-params";
+
 #[doc(hidden)]
 pub fn run() -> Result<(), Error> {
     let matches = App::new("fargo")
@@ -622,8 +625,12 @@
                         .short("g")
                         .help("Start a simulator with graphics enabled"),
                 )
-                .arg(Arg::with_name("no_net"))
-                .help("Don't set up networking."),
+                .arg(
+                    Arg::with_name(NO_NET)
+                        .long(NO_NET)
+                        .help("Don't set up networking."),
+                )
+                .arg(Arg::with_name(FX_RUN_PARAMS).index(1).multiple(true)),
         )
         .subcommand(SubCommand::with_name("stop").about("Stop all Fuchsia emulators"))
         .subcommand(
@@ -638,8 +645,12 @@
                         .short("g")
                         .help("Start a simulator with graphics enabled"),
                 )
-                .arg(Arg::with_name("no_net"))
-                .help("Don't set up networking."),
+                .arg(
+                    Arg::with_name(NO_NET)
+                        .long(NO_NET)
+                        .help("Don't set up networking."),
+                )
+                .arg(Arg::with_name(FX_RUN_PARAMS).index(1).multiple(true)),
         )
         .subcommand(
             SubCommand::with_name("ssh").about("Open a shell on Fuchsia device or emulator"),
@@ -823,9 +834,16 @@
             );
         }
 
+        let fx_run_params = start_matches
+            .values_of(FX_RUN_PARAMS)
+            .map(|x| x.collect())
+            .unwrap_or_else(|| vec![]);
+
         return start_emulator(
+            verbose,
             start_matches.is_present("graphics"),
-            !start_matches.is_present("no_net"),
+            !start_matches.is_present(NO_NET),
+            &fx_run_params,
             &target_options,
         );
     }
@@ -841,9 +859,16 @@
     if let Some(restart_matches) = matches.subcommand_matches("restart") {
         stop_emulator()?;
 
+        let fx_run_params = restart_matches
+            .values_of(FX_RUN_PARAMS)
+            .map(|x| x.collect())
+            .unwrap_or_else(|| vec![]);
+
         return start_emulator(
+            verbose,
             restart_matches.is_present("graphics"),
-            !restart_matches.is_present("no_net"),
+            !restart_matches.is_present(NO_NET),
+            &fx_run_params,
             &target_options,
         );
     }
