Meu palpite seria que o fcserver fosse executado daemonized - isto é, forks e disassociates do shell em execução, enquanto o seu programa de carregamento não.
O que acontece quando seu script é executado pelo init, é que ele gera um novo shell (/ bin / sh no seu caso), executa o carregamento e o fcserver em segundo plano nesse shell, ... e então destrói esse shell , que implicitamente envia um HUP para todos os processos filhos. O Fcserver sobrevive porque ele é daemonizado, enquanto o carregamento não.
Você pode tentar prefixar sua invocação de carregamento com nohup
:
#! /bin/sh
nohup /home/pi/sketchbook/leds/loading/application.linux64/loading &
/usr/local/bin/fcserver &
Não tenho certeza se o nohup está disponível no seu Raspberry Pi - não tenho nenhum para verificar.