Index: IronRuby.Libraries/Builtins/EnvOps.cs
===================================================================
--- IronRuby.Libraries/Builtins/EnvOps.cs	(revision 0)
+++ IronRuby.Libraries/Builtins/EnvOps.cs	(revision 0)
@@ -0,0 +1,21 @@
+
+namespace Ruby.Builtins
+{
+    [RubyClass("ENV", Extends = typeof(ENV))]
+    public static class EnvOps 
+    {
+        [RubyMethod("[]")]
+        public static MutableString getenv(object/*!*/ self, MutableString/*!*/ name)
+        {
+            return new MutableString(System.Environment.GetEnvironmentVariable(name));
+        }
+
+        [RubyMethod("delete")]
+        public static MutableString delete(object/*!*/ self, MutableString/*!*/ name)
+        {
+            string val = System.Environment.GetEnvironmentVariable(name);
+            System.Environment.SetEnvironmentVariable(name, null);
+            return new MutableString(val);
+        }
+    }
+}
Index: ironruby/Builtins/ENV.cs
===================================================================
--- ironruby/Builtins/ENV.cs	(revision 0)
+++ ironruby/Builtins/ENV.cs	(revision 0)
@@ -0,0 +1,5 @@
+
+namespace Ruby.Builtins {
+    public class ENV {
+    }
+}
Index: ironruby/Runtime/RubyExecutionContext.cs
===================================================================
--- ironruby/Runtime/RubyExecutionContext.cs	(revision 76)
+++ ironruby/Runtime/RubyExecutionContext.cs	(working copy)
@@ -217,6 +217,8 @@
             _objectClass.SetConstant("STDIN", StandardInput);
             _objectClass.SetConstant("STDOUT", StandardOutput);
             _objectClass.SetConstant("STDERR", StandardErrorOutput);
+
+            _objectClass.SetConstant("ENV", new ENV());
         }
 
         private void InitializeFileDescriptors() {
