Patch from "Joe.C" <joe@numa.com.tw>
diff --git a/shell/ash.c b/shell/ash.c
index 216f1c4..715adc3 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -3060,7 +3060,12 @@
 	char *cmdname;
 	int e;
 
-	if (strchr(argv[0], '/') != NULL) {
+	if (strchr(argv[0], '/') != NULL
+#ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
+		|| find_applet_by_name(argv[0])
+#endif 
+	)
+	{
 		tryexec(argv[0], argv, envp);
 		e = errno;
 	} else {
@@ -3539,6 +3544,14 @@
 		return;
 	}
 
+#ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
+	if (find_applet_by_name(name)) {
+		entry->cmdtype = CMDNORMAL;
+		entry->u.index = -1;
+		return;
+	}
+#endif
+
 	updatetbl = 1;
 	if (act & DO_BRUTE) {
 		firstchange = path_change(path, &bltin);