Index: /trunk/src/apps/adpctl/VBoxNetAdpCtl.cpp
===================================================================
--- /trunk/src/apps/adpctl/VBoxNetAdpCtl.cpp	(revision 50550)
+++ /trunk/src/apps/adpctl/VBoxNetAdpCtl.cpp	(revision 50551)
@@ -27,4 +27,5 @@
 #include <sys/wait.h>
 #include <sys/ioctl.h>
+#include <sys/stat.h>
 #include <fcntl.h>
 #ifdef RT_OS_LINUX
@@ -62,6 +63,7 @@
 typedef VBOXNETADPREQ *PVBOXNETADPREQ;
 
-
-#define VBOXADPCTL_IFCONFIG_PATH "/sbin/ifconfig"
+#define VBOXADPCTL_IFCONFIG_PATH1 "/sbin/ifconfig"
+#define VBOXADPCTL_IFCONFIG_PATH2 "/bin/ifconfig"
+static char *g_pszIfConfig;
 
 #if defined(RT_OS_LINUX)
@@ -83,4 +85,14 @@
 }
 
+static void setPathIfConfig(void)
+{
+    struct stat s;
+    if (   !stat(VBOXADPCTL_IFCONFIG_PATH1, &s)
+        && S_ISREG(s.st_mode))
+        g_pszIfConfig = (char*)VBOXADPCTL_IFCONFIG_PATH1;
+    else
+        g_pszIfConfig = (char*)VBOXADPCTL_IFCONFIG_PATH2;
+}
+
 static int executeIfconfig(const char *pcszAdapterName, const char *pcszArg1,
                            const char *pcszArg2 = NULL,
@@ -91,5 +103,5 @@
     const char * const argv[] =
     {
-        VBOXADPCTL_IFCONFIG_PATH,
+        g_pszIfConfig,
         pcszAdapterName,
         pcszArg1, /* [address family] */
@@ -110,5 +122,5 @@
             break;
         case 0: /* Child process. */
-            if (execve(VBOXADPCTL_IFCONFIG_PATH, (char * const*)argv, envp) == -1)
+            if (execve(argv[0], (char * const*)argv, envp) == -1)
                 rc = EXIT_FAILURE;
             break;
@@ -130,5 +142,5 @@
     int rc;
     int fds[2];
-    char * const argv[] = { (char*)VBOXADPCTL_IFCONFIG_PATH, pszAdapterName, NULL };
+    char * const argv[] = { g_pszIfConfig, pszAdapterName, NULL };
     char * const envp[] = { (char*)"LC_ALL=C", NULL };
 
@@ -150,5 +162,5 @@
         rc = dup2(fds[1], STDOUT_FILENO);
         if (rc >= 0)
-            execve(VBOXADPCTL_IFCONFIG_PATH, argv, envp);
+            execve(argv[0], argv, envp);
         return false;
     }
@@ -250,4 +262,6 @@
     bool fRemove = false;
     VBOXNETADPREQ Req;
+
+    setPathIfConfig();
 
     switch (argc)
