Index: internal/code/languages.go
--- internal/code/languages.go.orig
+++ internal/code/languages.go
@@ -25,6 +25,7 @@ const (
 	Python     = "python"
 	Ruby       = "ruby"
 	Rust       = "rust"
+	Sh         = "sh"
     Java       = "java"
 )
 
@@ -49,15 +50,15 @@ var Languages = map[string]Language{
 	},
 	Lua: {
 		Extension: "lua",
-		Commands:  cmds{{"lua", "<file>"}},
+		Commands:  cmds{{"${MODLUA_BIN}", "<file>"}},
 	},
 	Ruby: {
 		Extension: "rb",
-		Commands:  cmds{{"ruby", "<file>"}},
+		Commands:  cmds{{"${RUBY}", "<file>"}},
 	},
 	Python: {
 		Extension: "py",
-		Commands:  cmds{{"python", "<file>"}},
+		Commands:  cmds{{"${MODPY_BIN}", "<file>"}},
 	},
 	Perl: {
 		Extension: "pl",
@@ -72,8 +73,12 @@ var Languages = map[string]Language{
 			{"<path>/<name>.run"},
 		},
 	},
+	Sh: {
+		Extension: "sh",
+		Commands:  cmds{{"/bin/sh", "<file>"}},
+	},
 	Java: {
 		Extension: "java",
-		Commands:  cmds{{"java", "<file>"}},
+		Commands:  cmds{{"${JAVA_BIN}", "<file>"}},
 	},
 }
