This repository was archived by the owner on Aug 7, 2025. It is now read-only.

Description
According to the original documentation of the cloud-config:
https://cloudinit.readthedocs.io/en/latest/topics/examples.html#run-commands-on-first-boot
"if the item is a list, the items will be properly executed as if passed to execve(3) (with the first arg as the command)."
In micro-config-drive, the lists are simply joined into one command and executed by shell:
#cloud-config
---
preserve_hostname: true
runcmd:
- ls
- ps
- whoami
- [ ls, -l, /tmp ]
There should be 4 commands executed.
3 in shell, 1 using execve(3) call. The last one instead of execve is executed in shell.
ucd[626]: [4.289228] lib: Executing: /bin/sh -c "ls -l /tmp "