diff --git a/slapos/recipe/erp5/src/slapos/recipe/erp5/execute.py b/slapos/recipe/erp5/src/slapos/recipe/erp5/execute.py
index 4386bbdd6edea558638bb4633c0cd58e7c40c35e..845cc20954c5a43df9a84f566324d2b6efd20efd 100644
--- a/slapos/recipe/erp5/src/slapos/recipe/erp5/execute.py
+++ b/slapos/recipe/erp5/src/slapos/recipe/erp5/execute.py
@@ -4,10 +4,12 @@ import signal
 import subprocess
 import time
 
-def execute(args):
+def execute(args, env=None):
   """Portable execution with process replacement"""
+  if env is None:
+    env = {}
   # Note: Candidate for slapos.lib.recipe
-  os.execv(args[0], args)
+  os.execve(args[0], args, env)
 
 child_pg = None
 def sig_handler(signal, frame):