aboutsummaryrefslogtreecommitdiff
path: root/toys/chroot.c
blob: 8d2e9aa2cc991b584bcef3412a06676ea2fd4eff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* vi: set sw=4 ts=4: */
/*
 * chroot.c - Run command in new root directory.
 *
 * Not in SUSv3.
 */

#include "toys.h"

void chroot_main(void)
{
	char *binsh[] = {"/bin/sh", "-i", 0};
	if (chdir(*toys.optargs) || chroot("."))
		perror_exit("%s", *toys.optargs);
	xexec(toys.optargs[1] ? toys.optargs+1 : binsh);
}