diff --git a/cheriot/mpact_cheriot.cc b/cheriot/mpact_cheriot.cc
index 312e334..fa40b27 100644
--- a/cheriot/mpact_cheriot.cc
+++ b/cheriot/mpact_cheriot.cc
@@ -245,15 +245,12 @@
   auto arg_vec = absl::ParseCommandLine(argc, argv);
   int exit_code = 0;
 
-  if (arg_vec.size() > 2) {
-    std::cerr << "Only a single input file allowed" << std::endl;
-    return -1;
-  }
-  if (arg_vec.size() < 2) {
+  arg_vec.erase(arg_vec.begin());
+  if (arg_vec.empty()) {
     std::cerr << "Must specify input file" << std::endl;
     return -1;
   }
-  std::string full_file_name = arg_vec[1];
+  std::string full_file_name = arg_vec[0];
   std::string file_name =
       full_file_name.substr(full_file_name.find_last_of('/') + 1);
   std::string file_basename = file_name.substr(0, file_name.find_first_of('.'));
@@ -426,7 +423,7 @@
   auto *memory = static_cast<MemoryInterface *>(router);
   auto *semihost =
       new RiscVArmSemihost(RiscVArmSemihost::BitWidth::kWord32, memory, memory);
-
+  semihost->SetCmdLine(arg_vec);
   cheriot_top.state()->AddEbreakHandler([semihost](const Instruction *inst) {
     if (semihost->IsSemihostingCall(inst)) {
       semihost->OnEBreak(inst);
diff --git a/repos.bzl b/repos.bzl
index 8756564..fb054f7 100644
--- a/repos.bzl
+++ b/repos.bzl
@@ -22,7 +22,7 @@
     if not native.existing_rule("com_google_mpact-riscv"):
         http_archive(
             name = "com_google_mpact-riscv",
-            sha256 = "736672787a720914282b770abbad04d5c4aa22326888da8fe05758ba4824ffd0",
-            strip_prefix = "mpact-riscv-05aaf9a3a94b164867aaa590cb79a73e06ccf216",
-            url = "https://github.com/google/mpact-riscv/archive/05aaf9a3a94b164867aaa590cb79a73e06ccf216.tar.gz",
+            sha256 = "8d115c03cbd80a1d24d45fa8d361f928cd6e1a11adf2f2c4d5b407ad6da7aa4c",
+            strip_prefix = "mpact-riscv-b60757efd3690928a10927ee6fa6127c7f48df3e",
+            url = "https://github.com/google/mpact-riscv/archive/b60757efd3690928a10927ee6fa6127c7f48df3e.tar.gz",
         )
