diff --git a/eval.py b/eval.py
index 6aeadb2fa6306b1eec5b3f0f1d16f62cdb84a843..4a448b4bfd6404e7ccced0afe2b30cfbe23f350c 100755
--- a/eval.py
+++ b/eval.py
@@ -757,15 +757,24 @@ def bench(verbose=False) -> Dict[str, List[List[BenchResult]]]:
                             client_cmd, bench_dir / client_out_suffix,
                             bench_dir / client_err_suffix)
                     else:
+                        # prepare client_cmd to take host args
+                        client_cmd = client_cmd.replace('-f ', '-f %s-')
+
                         if verbose:
-                            print(f'run multiple echo client per pssh using\n{client_cmd}')
-                            print(f'start coordinator on {COORDINATOR} using\n{COORDINATOR_CMD}')
+                            print(
+                                f'run multiple echo client per pssh using\n{client_cmd}'
+                            )
+                            print(
+                                f'start coordinator on {COORDINATOR} using\n{COORDINATOR_CMD}'
+                            )
 
                         # start coordinator
                         with subprocess.Popen(COORDINATOR_CMD.split(),
                                               stdout=subprocess.DEVNULL,
                                               stderr=subprocess.DEVNULL):
-                            clients_out = ssh_client.run_command(client_cmd)
+
+                            clients_out = ssh_client.run_command(
+                                client_cmd, host_args=CLIENTS)
                             try:
                                 ssh_client.join(timeout=CLIENT_TIMEOUT)
                                 save_client_results(clients_out, bench_dir,