diff --git a/Lib/os.py b/Lib/os.py
index 5c8f3dc..6de2d0b 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -55,16 +55,32 @@
 def execlp(file, *args):
 	execvp(file, args)
 
-_notfound = None
+def execlpe(file, *args):
+	env = args[-1]
+	execvpe(file, args[:-1], env)
+
 def execvp(file, args):
+	_execvpe(file, args)
+
+def execvpe(file, args, env):
+	_execvpe(file, args, env)
+
+_notfound = None
+def _execvpe(file, args, env = None):
+	if env:
+		func = execve
+		argrest = (args, env)
+	else:
+		func = execv
+		argrest = (args,)
+		env = environ
 	global _notfound
 	head, tail = path.split(file)
 	if head:
-		execv(file, args)
+		apply(func, (file,) + argrest)
 		return
-	ENOENT = 2
-	if environ.has_key('PATH'):
-		envpath = environ['PATH']
+	if env.has_key('PATH'):
+		envpath = env['PATH']
 	else:
 		envpath = defpath
 	import string
@@ -78,7 +94,7 @@
 	for dir in PATH:
 		fullname = path.join(dir, file)
 		try:
-			execv(fullname, args)
+			apply(func, (fullname,) + argrest)
 		except error, (errno, msg):
 			if errno != arg[0]:
 				exc, arg = error, (errno, msg)
