diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for erebos-tester
 
+## 0.3.1 -- 2025-03-03
+
+* Fix executing test tool given with relative path
+
 ## 0.3.0 -- 2025-02-28
 
 * User-defined functions
diff --git a/erebos-tester.cabal b/erebos-tester.cabal
--- a/erebos-tester.cabal
+++ b/erebos-tester.cabal
@@ -1,7 +1,7 @@
 cabal-version:       3.0
 
 name:                erebos-tester
-version:             0.3.0
+version:             0.3.1
 synopsis:            Test framework with virtual network using Linux namespaces
 description:
     This framework is intended mainly for networking libraries/applications and
diff --git a/src/Process.hs b/src/Process.hs
--- a/src/Process.hs
+++ b/src/Process.hs
@@ -22,7 +22,9 @@
 import qualified Data.Text as T
 import qualified Data.Text.IO as T
 
+import System.Directory
 import System.Exit
+import System.FilePath
 import System.IO
 import System.IO.Error
 import System.Posix.Signals
@@ -89,9 +91,20 @@
 
 spawnOn :: Either Network Node -> ProcName -> Maybe Signal -> String -> TestRun Process
 spawnOn target pname killWith cmd = do
+    -- When executing command given with relative path, turn it to absolute one,
+    -- because working directory will be changed for the "ip netns exec" wrapper.
+    cmd' <- liftIO $ do
+        case span (/= ' ') cmd of
+            ( path, rest )
+                | any isPathSeparator path && isRelative path
+                -> do
+                    path' <- makeAbsolute path
+                    return (path' ++ rest)
+            _ -> return cmd
+
     let netns = either getNetns getNetns target
     let prefix = T.unpack $ "ip netns exec \"" <> textNetnsName netns <> "\" "
-    (Just hin, Just hout, Just herr, handle) <- liftIO $ createProcess (shell $ prefix ++ cmd)
+    (Just hin, Just hout, Just herr, handle) <- liftIO $ createProcess (shell $ prefix ++ cmd')
         { std_in = CreatePipe, std_out = CreatePipe, std_err = CreatePipe
         , cwd = Just (either netDir nodeDir target)
         , env = Just [ ( "EREBOS_DIR", "." ) ]
