diff --git a/test/crossrunner/collect.py b/test/crossrunner/collect.py
index 455189c..f92b9e2 100644
--- a/test/crossrunner/collect.py
+++ b/test/crossrunner/collect.py
@@ -44,6 +44,7 @@
   'workdir',  # work directory where command is executed
   'command',  # test command
   'extra_args',  # args appended to command after other args are appended
+  'remote_args',  # args added to the other side of the program
   'join_args',  # whether args should be passed as single concatenated string
   'env',  # additional environmental variable
 ]
diff --git a/test/crossrunner/test.py b/test/crossrunner/test.py
index 49ba7d3..bb81c4f 100644
--- a/test/crossrunner/test.py
+++ b/test/crossrunner/test.py
@@ -31,7 +31,7 @@
 
 class TestProgram(object):
   def __init__(self, kind, name, protocol, transport, socket, workdir, command, env=None,
-               extra_args=[], join_args=False, **kwargs):
+               extra_args=[], extra_args2=[], join_args=False, **kwargs):
     self.kind = kind
     self.name = name
     self.protocol = protocol
@@ -46,6 +46,7 @@
     else:
       self.env = os.environ
     self._extra_args = extra_args
+    self._extra_args2 = extra_args2
     self._join_args = join_args
 
   def _fix_cmd_path(self, cmd):
@@ -69,7 +70,7 @@
 
   def build_command(self, port):
     cmd = copy.copy(self._base_command)
-    args = []
+    args = self._extra_args2
     args.append('--protocol=' + self.protocol)
     args.append('--transport=' + self.transport)
     socket_args = self._socket_args(self.socket, port)
@@ -94,8 +95,12 @@
     self.protocol = kwargs['protocol']
     self.transport = kwargs['transport']
     self.socket = kwargs['socket']
-    self.server = TestProgram('server', **self._fix_workdir(merge_dict(self._config, server)))
-    self.client = TestProgram('client', **self._fix_workdir(merge_dict(self._config, client)))
+    srv_dict = self._fix_workdir(merge_dict(self._config, server))
+    cli_dict = self._fix_workdir(merge_dict(self._config, client))
+    cli_dict['extra_args2'] = srv_dict.pop('remote_args', [])
+    srv_dict['extra_args2'] = cli_dict.pop('remote_args', [])
+    self.server = TestProgram('server', **srv_dict)
+    self.client = TestProgram('client', **cli_dict)
     self.delay = delay
     self.timeout = timeout
     self._name = None
