diff -Naur iproute2-5.18.0.orig/tc/e_bpf.c iproute2-5.18.0/tc/e_bpf.c
--- iproute2-5.18.0.orig/tc/e_bpf.c	2022-05-27 04:21:48.000000000 +0530
+++ iproute2-5.18.0/tc/e_bpf.c	2022-07-15 15:09:42.271490485 +0530
@@ -60,6 +60,10 @@
 	const char *bpf_uds_name = NULL;
 	int fds[BPF_SCM_MAX_FDS] = {};
 	struct bpf_map_aux aux = {};
+#ifdef __UCLIBC__
+	char **env_save;
+	int rval;
+#endif	
 
 	if (argc == 0)
 		return 0;
@@ -159,9 +163,17 @@
 
 	envp_run[env_num - 1] = NULL;
 out:
+#ifdef __UCLIBC__
+	env_save = environ;
+	environ = envp_run;
+	rval = execvp(argv_run[0], argv_run);
+	environ = env_save;
+	return rval;
+#else
 	ret = execvpe(argv_run[0], argv_run, envp_run);
 	free(envp_run);
 	return ret;
+#endif
 
 err_free_env:
 	for (--i; i >= env_old; i--)
