#!/bin/bash

# https://man7.org/linux/man-pages/man8/ld.so.8.html
# 根据man手册，这些环境变量会干扰ld.so的正常工作
# 由于对deepin-security-loader-exec 进行了setcap操作,因此以上环境变量理论上不会影响到deepin-security-loader-exec；
# 添加对这些环境变量的unset操作是为了避免在某些情况下，deepin-security-loader-exec无法正常启动的情况；
# 如果外部调用者直接使用deepin-security-loader-exec，依旧无法通过LD相关环境变量来影响deepin-security-loader-exec的正常工作；
# 即使出现无法执行，也仅仅是调用者无法正常调用；

unset LD_ASSUME_KERNEL
unset LD_BIND_NOW
unset LD_LIBRARY_PATH
unset LD_PRELOAD
unset LD_TRACE_LOADED_OBJECTS
unset LD_AUDIT
unset LD_BIND_NOT
unset LD_DEBUG
unset LD_DEBUG_OUTPUT
unset LD_DYNAMIC_WEAK
unset LD_HWCAP_MASK
unset LD_ORIGIN_PATH
unset LD_POINTER_GUARD
unset LD_PROFILE
unset LD_PROFILE_OUTPUT
unset LD_SHOW_AUXV
unset LD_TRACE_PRELINKING
unset LD_USE_LOAD_BIAS
unset LD_VERBOSE
unset LD_WARN
unset LD_PREFER_MAP_32BIT_EXEC

/usr/bin/deepin-security-loader-exec "$@"
